package Classic150;

public class 合并两个有序数组 {
    /*
        避免覆盖其他元素，倒序双指针
     */
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m + n - 1, j = m - 1, k = n - 1;
        while (j >= 0 && k >= 0) {
            if (nums1[j] >= nums2[k]) nums1[i--] = nums1[j--];
            else nums1[i--] = nums2[k--];
        }
        while (j >= 0) nums1[i--] = nums1[j--];
        while (k >= 0) nums1[i--] = nums2[k--];
    }
}
